import data.Value;
/**
 * @author loaner
 */
class functionnodes.FunctionNode 
{
	public var funcname:String = "none";
	public static var FUNCTION:String = "function";
	public static var SPECIALFUNCTION:String = "specialfunction";
	public static var MACRO:String = "macro";
	
	public var type:String = FUNCTION;

	public var paramnames : Array;

	public var XMLcontent : XMLNode;

	public var lambdascope : Object; // used by FunctionNodeLambda
	
	public function toString() : String
	{
		return funcname;
	}
	
	public function reduceValues( scope:Object, args:Array):Value
	{
		return args[0].raw();	
	}
	
	public function reduceXMLtoXML( scope:Object, args:Array):XMLNode
	{
		return args[0];	
	}
	
	public function reduceXMLtoValue(arg0 : Object, arg1 : Array) : Value {
		return null;
		
	}

}